<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link href="stable/static/css/site.css" rel="stylesheet" type="text/css">
    <link href="stable/static/css/print.css" rel="stylesheet" type="text/css" media="print">
    <link href="stable/static/css/prettify.css" rel="stylesheet" type="text/css">
    <link href="//www.google.com/images/icons/product/chrome-16.png" rel="icon" type="image/ico">
    <link href="stable/static/css/api.css" rel="stylesheet" type="text/css">
    <title>chrome.bookmarks - chrome插件中文开发文档(非官方)</title>
  </head>
  <body>
    <a id="top"></a>
    <div id="header">{Header content}</div>
    <a id="gc-topnav-anchor"></a>
    <div id="gc-topnav">
      <h1>Google Chrome Extensions</h1>
      <ul id="home" class="gc-topnav-tabs">
        <li id="home_link">
          <a href="index.html" title="Google Chrome Extensions home page"><div>Home</div></a>
        </li>
        <li id="docs_link">
          <a href="docs.html" title="Official Google Chrome Extensions documentation"><div>Docs</div></a>
        </li>
        <li id="faq_link">
          <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions"><div>FAQ</div></a>
        </li>
        <li id="samples_link">
          <a href="samples.html" title="Sample Extensions (with source code)"><div>Samples</div></a>
        </li>
        <li id="group_link">
          <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum"><div>Group</div></a>
        </li>
        <li id="so_link">
          <a href="http://stackoverflow.com/questions/tagged/google-chrome-extension" title="[google-chrome-extension] tag on Stack Overflow"><div>Questions?</div></a>
        </li>
      </ul>
    </div>
    <div id="gc-container">
      <div id="gc-sidebar">
        <ul 
            class="level1 ">
          <li class="level2">
                <a href="getstarted.html" class="level2 ">Getting Started</a>
          </li>
          <li class="level2">
                <a href="overview.html" class="level2 ">Overview</a>
          </li>
          <li class="level2">
                <a href="whats_new.html" class="level2 ">What's New?</a>
          </li>
          <li class="level2">
                <a href="devguide.html" class="level2 ">Developer's Guide</a>
              <ul 
                  class="level2 ">
                <li class="level3">
                    <a class="button level3">
                      <span class="level3">Browser UI</span>
                      <div class="toggleIndicator level3"></div>
                    </a>
                    <ul toggleable
                        class="level3 hidden">
                      <li class="level4">
                            <a href="browserAction.html" class="level4 ">Browser Actions</a>
                      </li>
                      <li class="level4">
                            <a href="contextMenus.html" class="level4 ">Context Menus</a>
                      </li>
                      <li class="level4">
                            <a href="notifications.html" class="level4 ">Desktop Notifications</a>
                      </li>
                      <li class="level4">
                            <a href="omnibox.html" class="level4 ">Omnibox</a>
                      </li>
                      <li class="level4">
                            <a href="options.html" class="level4 ">Options Pages</a>
                      </li>
                      <li class="level4">
                            <a href="override.html" class="level4 ">Override Pages</a>
                      </li>
                      <li class="level4">
                            <a href="pageAction.html" class="level4 ">Page Actions</a>
                      </li>
                    </ul>
                </li>
                <li class="level3">
                    <a class="button level3">
                      <span class="level3">Browser Interaction</span>
                      <div class="toggleIndicator level3 toggled"></div>
                    </a>
                    <ul toggleable
                        class="level3 ">
                      <li class="level4">
                            <a  class="level4 selected">Bookmarks</a>
                      </li>
                      <li class="level4">
                            <a href="cookies.html" class="level4 ">Cookies</a>
                      </li>
                      <li class="level4">
                            <a href="devtools.html" class="level4 ">Developer Tools</a>
                      </li>
                      <li class="level4">
                            <a href="events.html" class="level4 ">Events</a>
                      </li>
                      <li class="level4">
                            <a href="history.html" class="level4 ">History</a>
                      </li>
                      <li class="level4">
                            <a href="management.html" class="level4 ">Management</a>
                      </li>
                      <li class="level4">
                            <a href="tabs.html" class="level4 ">Tabs</a>
                      </li>
                      <li class="level4">
                            <a href="windows.html" class="level4 ">Windows</a>
                      </li>
                    </ul>
                </li>
                <li class="level3">
                    <a class="button level3">
                      <span class="level3">Implementation</span>
                      <div class="toggleIndicator level3"></div>
                    </a>
                    <ul toggleable
                        class="level3 hidden">
                      <li class="level4">
                            <a href="a11y.html" class="level4 ">Accessibility</a>
                      </li>
                      <li class="level4">
                            <a href="event_pages.html" class="level4 ">Event Pages</a>
                      </li>
                      <li class="level4">
                            <a href="contentSecurityPolicy.html" class="level4 ">Content Security Policy</a>
                      </li>
                      <li class="level4">
                            <a href="content_scripts.html" class="level4 ">Content Scripts</a>
                      </li>
                      <li class="level4">
                            <a href="xhr.html" class="level4 ">Cross-Origin XHR</a>
                      </li>
                      <li class="level4">
                            <a href="i18n.html" class="level4 ">Internationalization</a>
                      </li>
                      <li class="level4">
                            <a href="messaging.html" class="level4 ">Message Passing</a>
                      </li>
                      <li class="level4">
                            <a href="permissions.html" class="level4 ">Optional Permissions</a>
                      </li>
                      <li class="level4">
                            <a href="npapi.html" class="level4 ">NPAPI Plugins</a>
                      </li>
                    </ul>
                </li>
                <li class="level3">
                    <a class="button level3">
                      <span class="level3">Finishing</span>
                      <div class="toggleIndicator level3"></div>
                    </a>
                    <ul toggleable
                        class="level3 hidden">
                      <li class="level4">
                            <a href="hosting.html" class="level4 ">Hosting</a>
                      </li>
                      <li class="level4">
                            <a href="external_extensions.html" class="level4 ">Other Deployment Options</a>
                      </li>
                    </ul>
                </li>
              </ul>
          </li>
          <li class="level2">
                <a href="tutorials.html" class="level2 ">Tutorials</a>
              <ul 
                  class="level2 ">
                <li class="level3">
                      <a href="tut_migration_to_manifest_v2.html" class="level3 ">Manifest V2</a>
                </li>
                <li class="level3">
                      <a href="tut_debugging.html" class="level3 ">Debugging</a>
                </li>
                <li class="level3">
                      <a href="tut_analytics.html" class="level3 ">Google Analytics</a>
                </li>
                <li class="level3">
                      <a href="tut_oauth.html" class="level3 ">OAuth</a>
                </li>
              </ul>
          </li>
          <li class="level2">
                <span class="level2">Reference</span>
              <ul 
                  class="level2 ">
                <li class="level3">
                    <a class="button level3">
                      <span class="level3">Formats</span>
                      <div class="toggleIndicator level3"></div>
                    </a>
                    <ul toggleable
                        class="level3 hidden">
                      <li class="level4">
                            <a href="manifest.html" class="level4 ">Manifest Files</a>
                      </li>
                      <li class="level4">
                            <a href="match_patterns.html" class="level4 ">Match Patterns</a>
                      </li>
                    </ul>
                </li>
                <li class="level3">
                      <a href="permission_warnings.html" class="level3 ">Permission Warnings</a>
                </li>
                <li class="level3">
                      <a href="api_index.html" class="level3 ">chrome.* APIs</a>
                </li>
                <li class="level3">
                      <a href="api_other.html" class="level3 ">Other APIs</a>
                </li>
              </ul>
          </li>
          <li class="level2">
                <span class="level2">More</span>
              <ul 
                  class="level2 ">
                <li class="level3">
                      <a href="http://code.google.com/chrome/webstore/docs/index.html" class="level3 ">Chrome Web Store</a>
                </li>
                <li class="level3">
                      <a href="http://code.google.com/chrome/apps/docs/developers_guide.html" class="level3 ">Hosted Apps</a>
                </li>
                <li class="level3">
                      <a href="themes.html" class="level3 ">Themes</a>
                </li>
              </ul>
          </li>
        </ul>
      </div>
      <div id="gc-pagecontent">
        <h1 class="page_title">chrome.bookmarks</h1>
        
        
        
        <div id="toc">
          <h2>Contents</h2>
          <ol>
            <li>
              <a href=#manifest>Manifest</a>
            </li>
            <li>
              <a href=#description>Objects and properties</a>
            </li>
            <li>
              <a href=#overview-examples>Examples</a>
            </li>
            <li>
              <a href="#apiReference">API reference: chrome.bookmarks</a>
              <ol>
                  <li><a href="#types">Types</a><ol>  <li>    <a href="#type-BookmarkTreeNode">BookmarkTreeNode</a>  </li></ol></li>
                  <li><a href="#properties">Properties</a><ol>  <li>    <a href="#property-MAX_WRITE_OPERATIONS_PER_HOUR">MAX_WRITE_OPERATIONS_PER_HOUR</a>  </li>  <li>    <a href="#property-MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE">MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE</a>  </li></ol></li>
                  <li><a href="#methods">Methods</a><ol>  <li><a href="#method-get">get</a></li>  <li><a href="#method-getChildren">getChildren</a></li>  <li><a href="#method-getRecent">getRecent</a></li>  <li><a href="#method-getTree">getTree</a></li>  <li><a href="#method-getSubTree">getSubTree</a></li>  <li><a href="#method-search">search</a></li>  <li><a href="#method-create">create</a></li>  <li><a href="#method-move">move</a></li>  <li><a href="#method-update">update</a></li>  <li><a href="#method-remove">remove</a></li>  <li><a href="#method-removeTree">removeTree</a></li></ol></li>
                  <li><a href="#events">Events</a><ol>  <li><a href="#event-onCreated">onCreated</a></li>  <li><a href="#event-onRemoved">onRemoved</a></li>  <li><a href="#event-onChanged">onChanged</a></li>  <li><a href="#event-onMoved">onMoved</a></li>  <li><a href="#event-onChildrenReordered">onChildrenReordered</a></li>  <li><a href="#event-onImportBegan">onImportBegan</a></li>  <li><a href="#event-onImportEnded">onImportEnded</a></li></ol></li>
                  <li><a href="#samples">Sample Extensions</a></li>
              </ol>
            </li>
          </ol>
        </div>

<p id="classSummary">
Use the <code>chrome.bookmarks</code> module to create, organize,
and otherwise manipulate bookmarks.
Also see <a href="override.html">Override Pages</a>,
which you can use to create a custom Bookmark Manager page.
</p>

<img src="stable/static/images/bookmarks.png"
     width="210" height="147" alt="Clicking the star adds a bookmark" />

<h2 id="manifest">Manifest</h2>
<p>You must declare the "bookmarks" permission
in the <a href="manifest.html">extension manifest</a>
to use the bookmarks API.
For example:</p>
<pre>{
  "name": "My extension",
  ...
  <b>"permissions": [
    "bookmarks"
  ]</b>,
  ...
}</pre>

<h2 id="description">Objects and properties</h2>

<p>
Bookmarks are organized in a tree,
where each node in the tree
is either a bookmark or a folder
(sometimes called a <em>group</em>).
Each node in the tree
is represented by a
<a href="#type-BookmarkTreeNode"><code>BookmarkTreeNode</code></a> object.
</p>

<p>
<code>BookmarkTreeNode</code> properties
are used throughout the <code>chrome.bookmarks</code> API.
For example, when you call
<a href="#method-create"><code>create()</code></a>,
you pass in the new node's parent (<code>parentId</code>),
and, optionally, the node's
<code>index</code>, <code>title</code>, and <code>url</code> properties.
See <a href="#type-BookmarkTreeNode"><code>BookmarkTreeNode</code></a>
for information about the properties a node can have.
</p>

<p class="note"><b>Note:</b> You cannot use this API to add or remove entries
in the root folder.  You also cannot rename, move, or remove the special
"Bookmarks Bar" and "Other Bookmarks" folders.</p>

<h2 id="overview-examples">Examples</h2>

<p>
The following code creates a folder with the title "Extension bookmarks".
The first argument to <code>create()</code> specifies properties
for the new folder.
The second argument defines a function
to be executed after the folder is created.
</p>

<pre>
chrome.bookmarks.create({'parentId': bookmarkBar.id,
                         'title': 'Extension bookmarks'},
                        function(newFolder) {
  console.log("added folder: " + newFolder.title);
});
</pre>

<p>
The next snippet creates a bookmark pointing to
the developer documentation for extensions.
Since nothing bad will happen if creating the bookmark fails,
this code doesn't bother to define a callback function.
</p>

<pre>
chrome.bookmarks.create({'parentId': extensionsFolderId,
                         'title': 'Extensions doc',
                         'url': 'http://code.google.com/chrome/extensions'});
</pre>

<p>
For an example of using this API, see the
<a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/bookmarks/basic/">basic bookmarks sample</a>.
For other examples and for help in viewing the source code, see
<a href="samples.html">Samples</a>.
</p>
        <h2 id="apiReference">API Reference: chrome.bookmarks</h2>
        <div class="api_reference">
            <h3 id="types">Types</h3>
              <div>
                <h3 id="type-BookmarkTreeNode">BookmarkTreeNode</h3>
                <div>
                  <dt><span class="type_name">  (    <span id="typeTemplate">object</span>  )</span></dt>
              <dd>
                    A node (either a bookmark or a folder) in the bookmark tree.  Child nodes are ordered within their parent folder.
                  </dd>    <h4 id="BookmarkTreeNode-properties">
                    Properties of <a href="#type-BookmarkTreeNode">BookmarkTreeNode</a>
                  </h4>
                  <dd><dl>      <div>
                      <a name="property-BookmarkTreeNode-id"></a>
                      <dt>
                        <span class="variable">id</span>
                        <span class="property">
                          (
                            
                            <span id="typeTemplate">string</span>
                          )
                        </span>
                      </dt>
                      <dd>
                        The unique identifier for the node. IDs are unique within the current profile, and they remain valid even after the browser is restarted.
                      </dd>
                    </div>
                    <div>
                      <a name="property-BookmarkTreeNode-parentId"></a>
                      <dt>
                        <span class="variable">parentId</span>
                        <span class="property">
                          (
                            <span class="optional">optional</span>
                            <span id="typeTemplate">string</span>
                          )
                        </span>
                      </dt>
                      <dd>
                        The <code>id</code> of the parent folder.  Omitted for the root node.
                      </dd>
                    </div>
                    <div>
                      <a name="property-BookmarkTreeNode-index"></a>
                      <dt>
                        <span class="variable">index</span>
                        <span class="property">
                          (
                            <span class="optional">optional</span>
                            <span id="typeTemplate">integer</span>
                          )
                        </span>
                      </dt>
                      <dd>
                        The 0-based position of this node within its parent folder.
                      </dd>
                    </div>
                    <div>
                      <a name="property-BookmarkTreeNode-url"></a>
                      <dt>
                        <span class="variable">url</span>
                        <span class="property">
                          (
                            <span class="optional">optional</span>
                            <span id="typeTemplate">string</span>
                          )
                        </span>
                      </dt>
                      <dd>
                        The URL navigated to when a user clicks the bookmark. Omitted for folders.
                      </dd>
                    </div>
                    <div>
                      <a name="property-BookmarkTreeNode-title"></a>
                      <dt>
                        <span class="variable">title</span>
                        <span class="property">
                          (
                            
                            <span id="typeTemplate">string</span>
                          )
                        </span>
                      </dt>
                      <dd>
                        The text displayed for the node.
                      </dd>
                    </div>
                    <div>
                      <a name="property-BookmarkTreeNode-dateAdded"></a>
                      <dt>
                        <span class="variable">dateAdded</span>
                        <span class="property">
                          (
                            <span class="optional">optional</span>
                            <span id="typeTemplate">double</span>
                          )
                        </span>
                      </dt>
                      <dd>
                        When this node was created, in milliseconds since the epoch (<code>new Date(dateAdded)</code>).
                      </dd>
                    </div>
                    <div>
                      <a name="property-BookmarkTreeNode-dateGroupModified"></a>
                      <dt>
                        <span class="variable">dateGroupModified</span>
                        <span class="property">
                          (
                            <span class="optional">optional</span>
                            <span id="typeTemplate">double</span>
                          )
                        </span>
                      </dt>
                      <dd>
                        When the contents of this folder last changed, in milliseconds since the epoch.
                      </dd>
                    </div>
                    <div>
                      <a name="property-BookmarkTreeNode-children"></a>
                      <dt>
                        <span class="variable">children</span>
                        <span class="property">
                          (
                            <span class="optional">optional</span>
                            <span id="typeTemplate">array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>
                          )
                        </span>
                      </dt>
                      <dd>
                        An ordered list of children of this node.
                      </dd>
                    </div>
              </dl></dd>
                </div>
              </div>
            <h3 id="properties">Properties</h3>
              <div>
                <h3 id="property-MAX_WRITE_OPERATIONS_PER_HOUR">MAX_WRITE_OPERATIONS_PER_HOUR</h3>
                <div class="summary">
                  <span>chrome.bookmarks.MAX_WRITE_OPERATIONS_PER_HOUR</span>
                </div>
                <div>
                  <dt><span class="property">MAX_WRITE_OPERATIONS_PER_HOUR</span> <span class="type_name">  (    <span id="typeTemplate"><code>100</code></span>  )</span></dt>
              <dd>
                    The maximum number of <code>move</code>, <code>update</code>, <code>create</code>, or <code>remove</code> operations that can be performed each hour. Updates that would cause this limit to be exceeded fail.
                  </dd>  </div>
              </div>
              <div>
                <h3 id="property-MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE">MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE</h3>
                <div class="summary">
                  <span>chrome.bookmarks.MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE</span>
                </div>
                <div>
                  <dt><span class="property">MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE</span> <span class="type_name">  (    <span id="typeTemplate"><code>2</code></span>  )</span></dt>
              <dd>
                    The maximum number of <code>move</code>, <code>update</code>, <code>create</code>, or <code>remove</code> operations that can be performed each minute, sustained over 10 minutes. Updates that would cause this limit to be exceeded fail.
                  </dd>  </div>
              </div>
            <h3 id="methods">Methods</h3>
              <div>
                <h4 id="method-get">get</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.get</span>(<span>array of string or string <span class="variable">idOrIdList</span></span>)
                </div>
                <div class="description">
              <p>
                    Retrieves the specified BookmarkTreeNode(s).
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-get-idOrIdList"></a>  <dt>    <span class="variable">idOrIdList</span>    <span class="property">      (                <span id="typeTemplate">array of string or string</span>      )    </span>  </dt>  <dd>    A single string-valued id, or an array of string-valued ids  </dd></div>
                  </dl>
                  <h4>Callback function</h4><p>      The <em>callback</em> parameter should specify a function      that looks like this:</p><pre>function(array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a> results) <span class="subdued">{...}</span>;</pre><dl>  <div>  <a name="property-callback-results"></a>  <dt>    <span class="variable">results</span>    <span class="property">      (                <span id="typeTemplate">array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>      )    </span>  </dt></div></dl>
                </div>
              </div>
              <div>
                <h4 id="method-getChildren">getChildren</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.getChildren</span>(<span>string <span class="variable">id</span></span>)
                </div>
                <div class="description">
              <p>
                    Retrieves the children of the specified BookmarkTreeNode id.
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-getChildren-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div>
                  </dl>
                  <h4>Callback function</h4><p>      The <em>callback</em> parameter should specify a function      that looks like this:</p><pre>function(array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a> results) <span class="subdued">{...}</span>;</pre><dl>  <div>  <a name="property-callback-results"></a>  <dt>    <span class="variable">results</span>    <span class="property">      (                <span id="typeTemplate">array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>      )    </span>  </dt></div></dl>
                </div>
              </div>
              <div>
                <h4 id="method-getRecent">getRecent</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.getRecent</span>(<span>integer <span class="variable">numberOfItems</span></span>)
                </div>
                <div class="description">
              <p>
                    Retrieves the recently added bookmarks.
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-getRecent-numberOfItems"></a>  <dt>    <span class="variable">numberOfItems</span>    <span class="property">      (                <span id="typeTemplate">integer</span>      )    </span>  </dt>  <dd>    The maximum number of items to return.  </dd></div>
                  </dl>
                  <h4>Callback function</h4><p>      The <em>callback</em> parameter should specify a function      that looks like this:</p><pre>function(array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a> results) <span class="subdued">{...}</span>;</pre><dl>  <div>  <a name="property-callback-results"></a>  <dt>    <span class="variable">results</span>    <span class="property">      (                <span id="typeTemplate">array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>      )    </span>  </dt></div></dl>
                </div>
              </div>
              <div>
                <h4 id="method-getTree">getTree</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.getTree</span>()
                </div>
                <div class="description">
              <p>
                    Retrieves the entire Bookmarks hierarchy.
                  </p>  </div>
              </div>
              <div>
                <h4 id="method-getSubTree">getSubTree</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.getSubTree</span>(<span>string <span class="variable">id</span></span>)
                </div>
                <div class="description">
              <p>
                    Retrieves part of the Bookmarks hierarchy, starting at the specified node.
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-getSubTree-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt>  <dd>    The ID of the root of the subtree to retrieve.  </dd></div>
                  </dl>
                  <h4>Callback function</h4><p>      The <em>callback</em> parameter should specify a function      that looks like this:</p><pre>function(array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a> results) <span class="subdued">{...}</span>;</pre><dl>  <div>  <a name="property-callback-results"></a>  <dt>    <span class="variable">results</span>    <span class="property">      (                <span id="typeTemplate">array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>      )    </span>  </dt></div></dl>
                </div>
              </div>
              <div>
                <h4 id="method-search">search</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.search</span>(<span>string <span class="variable">query</span></span>)
                </div>
                <div class="description">
              <p>
                    Searches for BookmarkTreeNodes matching the given query.
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-search-query"></a>  <dt>    <span class="variable">query</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div>
                  </dl>
                  <h4>Callback function</h4><p>      The <em>callback</em> parameter should specify a function      that looks like this:</p><pre>function(array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a> results) <span class="subdued">{...}</span>;</pre><dl>  <div>  <a name="property-callback-results"></a>  <dt>    <span class="variable">results</span>    <span class="property">      (                <span id="typeTemplate">array of <a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>      )    </span>  </dt></div></dl>
                </div>
              </div>
              <div>
                <h4 id="method-create">create</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.create</span>(<span>object <span class="variable">bookmark</span></span>)
                </div>
                <div class="description">
              <p>
                    Creates a bookmark or folder under the specified parentId.  If url is NULL or missing, it will be a folder.
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-create-bookmark"></a>  <dt>    <span class="variable">bookmark</span>    <span class="property">      (                <span id="typeTemplate">object</span>      )    </span>  </dt>  <dd>    <dl>      <div>        <a name="property-bookmark-parentId"></a>        <dt>          <span class="variable">parentId</span>          <span class="property">            (              <span class="optional">optional</span>              <span id="typeTemplate">string</span>            )          </span>        </dt>        <dd>          Defaults to the Other Bookmarks folder.        </dd>      </div>      <div>        <a name="property-bookmark-index"></a>        <dt>          <span class="variable">index</span>          <span class="property">            (              <span class="optional">optional</span>              <span id="typeTemplate">integer</span>            )          </span>        </dt>      </div>      <div>        <a name="property-bookmark-title"></a>        <dt>          <span class="variable">title</span>          <span class="property">            (              <span class="optional">optional</span>              <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>      <div>        <a name="property-bookmark-url"></a>        <dt>          <span class="variable">url</span>          <span class="property">            (              <span class="optional">optional</span>              <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>    </dl>  </dd></div>
                  </dl>
                  <h4>Callback function</h4><p>      If you specify the <em>callback</em> parameter, it should      specify a function that looks like this:</p><pre>function(<a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a> result) <span class="subdued">{...}</span>;</pre><dl>  <div>  <a name="property-callback-result"></a>  <dt>    <span class="variable">result</span>    <span class="property">      (                <span id="typeTemplate"><a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>      )    </span>  </dt></div></dl>
                </div>
              </div>
              <div>
                <h4 id="method-move">move</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.move</span>(<span>string <span class="variable">id</span></span>, <span>object <span class="variable">destination</span></span>)
                </div>
                <div class="description">
              <p>
                    Moves the specified BookmarkTreeNode to the provided location.
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-move-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div><div>  <a name="property-move-destination"></a>  <dt>    <span class="variable">destination</span>    <span class="property">      (                <span id="typeTemplate">object</span>      )    </span>  </dt>  <dd>    <dl>      <div>        <a name="property-destination-parentId"></a>        <dt>          <span class="variable">parentId</span>          <span class="property">            (              <span class="optional">optional</span>              <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>      <div>        <a name="property-destination-index"></a>        <dt>          <span class="variable">index</span>          <span class="property">            (              <span class="optional">optional</span>              <span id="typeTemplate">integer</span>            )          </span>        </dt>      </div>    </dl>  </dd></div>
                  </dl>
                  <h4>Callback function</h4><p>      If you specify the <em>callback</em> parameter, it should      specify a function that looks like this:</p><pre>function(<a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a> result) <span class="subdued">{...}</span>;</pre><dl>  <div>  <a name="property-callback-result"></a>  <dt>    <span class="variable">result</span>    <span class="property">      (                <span id="typeTemplate"><a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>      )    </span>  </dt></div></dl>
                </div>
              </div>
              <div>
                <h4 id="method-update">update</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.update</span>(<span>string <span class="variable">id</span></span>, <span>object <span class="variable">changes</span></span>)
                </div>
                <div class="description">
              <p>
                    Updates the properties of a bookmark or folder. Specify only the properties that you want to change; unspecified properties will be left unchanged.  <b>Note:</b> Currently, only 'title' and 'url' are supported.
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-update-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div><div>  <a name="property-update-changes"></a>  <dt>    <span class="variable">changes</span>    <span class="property">      (                <span id="typeTemplate">object</span>      )    </span>  </dt>  <dd>    <dl>      <div>        <a name="property-changes-title"></a>        <dt>          <span class="variable">title</span>          <span class="property">            (              <span class="optional">optional</span>              <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>      <div>        <a name="property-changes-url"></a>        <dt>          <span class="variable">url</span>          <span class="property">            (              <span class="optional">optional</span>              <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>    </dl>  </dd></div>
                  </dl>
                  <h4>Callback function</h4><p>      If you specify the <em>callback</em> parameter, it should      specify a function that looks like this:</p><pre>function(<a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a> result) <span class="subdued">{...}</span>;</pre><dl>  <div>  <a name="property-callback-result"></a>  <dt>    <span class="variable">result</span>    <span class="property">      (                <span id="typeTemplate"><a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>      )    </span>  </dt></div></dl>
                </div>
              </div>
              <div>
                <h4 id="method-remove">remove</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.remove</span>(<span>string <span class="variable">id</span></span>)
                </div>
                <div class="description">
              <p>
                    Removes a bookmark or an empty bookmark folder.
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-remove-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div>
                  </dl>
                  <h4>Callback function</h4><p>      If you specify the <em>callback</em> parameter, it should      specify a function that looks like this:</p><pre>function() <span class="subdued">{...}</span>;</pre><dl>  </dl>
                </div>
              </div>
              <div>
                <h4 id="method-removeTree">removeTree</h4>
                <div class="summary lower">
                  <span>chrome.bookmarks.removeTree</span>(<span>string <span class="variable">id</span></span>)
                </div>
                <div class="description">
              <p>
                    Recursively removes a bookmark folder.
                  </p>    <h4>Parameters</h4>
                  <dl>
                    <div>  <a name="property-removeTree-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div>
                  </dl>
                  <h4>Callback function</h4><p>      If you specify the <em>callback</em> parameter, it should      specify a function that looks like this:</p><pre>function() <span class="subdued">{...}</span>;</pre><dl>  </dl>
                </div>
              </div>
            <h3 id="events">Events</h3>
              <div>
                <h4 id="event-onCreated">onCreated</h4>
                <div class="summary">
                  <span class="subdued">chrome.bookmarks.</span>onCreated<span class="subdued">.addListener</span>(function(<span>string <span class="variable">id</span></span>, <span><a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a> <span class="variable">bookmark</span></span>)<span class="subdued"> {...}</span>);
                </div>
                <div class="description">
              <p>
                    Fired when a bookmark or folder is created.
                  </p>      <h4>Listener Parameters</h4>
                    <dl>
                      <div>  <a name="property-onCreated-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div><div>  <a name="property-onCreated-bookmark"></a>  <dt>    <span class="variable">bookmark</span>    <span class="property">      (                <span id="typeTemplate"><a href="bookmarks.html#type-BookmarkTreeNode">BookmarkTreeNode</a></span>      )    </span>  </dt></div>
                    </dl>
                </div>
              </div>
              <div>
                <h4 id="event-onRemoved">onRemoved</h4>
                <div class="summary">
                  <span class="subdued">chrome.bookmarks.</span>onRemoved<span class="subdued">.addListener</span>(function(<span>string <span class="variable">id</span></span>, <span>object <span class="variable">removeInfo</span></span>)<span class="subdued"> {...}</span>);
                </div>
                <div class="description">
              <p>
                    Fired when a bookmark or folder is removed.  When a folder is removed recursively, a single notification is fired for the folder, and none for its contents.
                  </p>      <h4>Listener Parameters</h4>
                    <dl>
                      <div>  <a name="property-onRemoved-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div><div>  <a name="property-onRemoved-removeInfo"></a>  <dt>    <span class="variable">removeInfo</span>    <span class="property">      (                <span id="typeTemplate">object</span>      )    </span>  </dt>  <dd>    <dl>      <div>        <a name="property-removeInfo-parentId"></a>        <dt>          <span class="variable">parentId</span>          <span class="property">            (                            <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>      <div>        <a name="property-removeInfo-index"></a>        <dt>          <span class="variable">index</span>          <span class="property">            (                            <span id="typeTemplate">integer</span>            )          </span>        </dt>      </div>    </dl>  </dd></div>
                    </dl>
                </div>
              </div>
              <div>
                <h4 id="event-onChanged">onChanged</h4>
                <div class="summary">
                  <span class="subdued">chrome.bookmarks.</span>onChanged<span class="subdued">.addListener</span>(function(<span>string <span class="variable">id</span></span>, <span>object <span class="variable">changeInfo</span></span>)<span class="subdued"> {...}</span>);
                </div>
                <div class="description">
              <p>
                    Fired when a bookmark or folder changes.  <b>Note:</b> Currently, only title and url changes trigger this.
                  </p>      <h4>Listener Parameters</h4>
                    <dl>
                      <div>  <a name="property-onChanged-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div><div>  <a name="property-onChanged-changeInfo"></a>  <dt>    <span class="variable">changeInfo</span>    <span class="property">      (                <span id="typeTemplate">object</span>      )    </span>  </dt>  <dd>    <dl>      <div>        <a name="property-changeInfo-title"></a>        <dt>          <span class="variable">title</span>          <span class="property">            (                            <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>      <div>        <a name="property-changeInfo-url"></a>        <dt>          <span class="variable">url</span>          <span class="property">            (              <span class="optional">optional</span>              <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>    </dl>  </dd></div>
                    </dl>
                </div>
              </div>
              <div>
                <h4 id="event-onMoved">onMoved</h4>
                <div class="summary">
                  <span class="subdued">chrome.bookmarks.</span>onMoved<span class="subdued">.addListener</span>(function(<span>string <span class="variable">id</span></span>, <span>object <span class="variable">moveInfo</span></span>)<span class="subdued"> {...}</span>);
                </div>
                <div class="description">
              <p>
                    Fired when a bookmark or folder is moved to a different parent folder.
                  </p>      <h4>Listener Parameters</h4>
                    <dl>
                      <div>  <a name="property-onMoved-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div><div>  <a name="property-onMoved-moveInfo"></a>  <dt>    <span class="variable">moveInfo</span>    <span class="property">      (                <span id="typeTemplate">object</span>      )    </span>  </dt>  <dd>    <dl>      <div>        <a name="property-moveInfo-parentId"></a>        <dt>          <span class="variable">parentId</span>          <span class="property">            (                            <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>      <div>        <a name="property-moveInfo-index"></a>        <dt>          <span class="variable">index</span>          <span class="property">            (                            <span id="typeTemplate">integer</span>            )          </span>        </dt>      </div>      <div>        <a name="property-moveInfo-oldParentId"></a>        <dt>          <span class="variable">oldParentId</span>          <span class="property">            (                            <span id="typeTemplate">string</span>            )          </span>        </dt>      </div>      <div>        <a name="property-moveInfo-oldIndex"></a>        <dt>          <span class="variable">oldIndex</span>          <span class="property">            (                            <span id="typeTemplate">integer</span>            )          </span>        </dt>      </div>    </dl>  </dd></div>
                    </dl>
                </div>
              </div>
              <div>
                <h4 id="event-onChildrenReordered">onChildrenReordered</h4>
                <div class="summary">
                  <span class="subdued">chrome.bookmarks.</span>onChildrenReordered<span class="subdued">.addListener</span>(function(<span>string <span class="variable">id</span></span>, <span>object <span class="variable">reorderInfo</span></span>)<span class="subdued"> {...}</span>);
                </div>
                <div class="description">
              <p>
                    Fired when the children of a folder have changed their order due to the order being sorted in the UI.  This is not called as a result of a move().
                  </p>      <h4>Listener Parameters</h4>
                    <dl>
                      <div>  <a name="property-onChildrenReordered-id"></a>  <dt>    <span class="variable">id</span>    <span class="property">      (                <span id="typeTemplate">string</span>      )    </span>  </dt></div><div>  <a name="property-onChildrenReordered-reorderInfo"></a>  <dt>    <span class="variable">reorderInfo</span>    <span class="property">      (                <span id="typeTemplate">object</span>      )    </span>  </dt>  <dd>    <dl>      <div>        <a name="property-reorderInfo-childIds"></a>        <dt>          <span class="variable">childIds</span>          <span class="property">            (                            <span id="typeTemplate">array of string</span>            )          </span>        </dt>      </div>    </dl>  </dd></div>
                    </dl>
                </div>
              </div>
              <div>
                <h4 id="event-onImportBegan">onImportBegan</h4>
                <div class="summary">
                  <span class="subdued">chrome.bookmarks.</span>onImportBegan<span class="subdued">.addListener</span>(function()<span class="subdued"> {...}</span>);
                </div>
                <div class="description">
              <p>
                    Fired when a bookmark import session is begun.  Expensive observers should ignore handleCreated updates until onImportEnded is fired.  Observers should still handle other notifications immediately.
                  </p>  </div>
              </div>
              <div>
                <h4 id="event-onImportEnded">onImportEnded</h4>
                <div class="summary">
                  <span class="subdued">chrome.bookmarks.</span>onImportEnded<span class="subdued">.addListener</span>(function()<span class="subdued"> {...}</span>);
                </div>
                <div class="description">
              <p>
                    Fired when a bookmark import session is ended.
                  </p>  </div>
              </div>
        </div>
          <h2 id="samples">Sample Extensions that use chrome.bookmarks</h2>
            <li><strong><a href="samples.html#39c879e6ea31a83cb901ae55a5fcf76a">My Bookmarks</a></strong> &ndash;
            A browser action with a popup dump of all bookmarks, including search, add, edit and delete.
        </li>
            <li><strong><a href="samples.html#d5d930bdcf3f5e1753d0de5924a89a65">Event Page Example</a></strong> &ndash;
            Demonstrates usage and features of the event page
        </li>
            <li><strong><a href="samples.html#e9ecdf298b120a99b7a50cd4871c0f83">Chrome Sounds</a></strong> &ndash;
            Enjoy a more magical and immersive experience when browsing the web using the power of sound.
        </li>
      </div>
    </div>
  </body>
  <script>
    window.bootstrap = {
      api_names: [{"name":"alarms"},{"name":"bookmarks"},{"name":"browserAction"},{"name":"browsingData"},{"name":"commands"},{"name":"contentSettings"},{"name":"contextMenus"},{"name":"cookies"},{"name":"debugger"},{"name":"declarativeWebRequest"},{"name":"devtools.inspectedWindow"},{"name":"devtools.network"},{"name":"devtools.panels"},{"name":"downloads"},{"name":"events"},{"name":"extension"},{"name":"fileBrowserHandler"},{"name":"fontSettings"},{"name":"history"},{"name":"i18n"},{"name":"idle"},{"name":"input.ime"},{"name":"management"},{"name":"omnibox"},{"name":"pageAction"},{"name":"pageCapture"},{"name":"permissions"},{"name":"privacy"},{"name":"proxy"},{"name":"runtime"},{"name":"scriptBadge"},{"name":"storage"},{"name":"tabs"},{"name":"topSites"},{"name":"tts"},{"name":"ttsEngine"},{"name":"types"},{"name":"webNavigation"},{"name":"webRequest"},{"name":"webstore"},{"last":true,"name":"windows"}].concat(
          [{"name":"experimental.bluetooth"},{"name":"experimental.devtools.audits"},{"name":"experimental.devtools.console"},{"name":"experimental.discovery"},{"name":"experimental.identity"},{"name":"experimental.infobars"},{"name":"experimental.offscreenTabs"},{"name":"experimental.processes"},{"name":"experimental.record"},{"name":"experimental.speechInput"},{"name":"experimental.systemInfo.cpu"},{"name":"experimental.systemInfo.storage"},{"last":true,"name":"experimental.usb"}]),
      branchInfo: {"channels":[{"path":"stable","name":"Stable"},{"path":"dev","name":"Dev"},{"path":"beta","name":"Beta"},{"path":"trunk","name":"Trunk"}],"current":"stable","showWarning":false}
    };
  </script>
  <div id="gc-footer">
    <div class="text">
      <p>
        Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>,
        the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
        Attribution 3.0 License</a>, and code samples are licensed under the
        <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>.
      </p>
      <p>
        ©2012 Google
      </p>
      <script src="stable/static/js/branch.js" type="text/javascript"></script>
      <script src="stable/static/js/sidebar.js" type="text/javascript"></script>
      <script src="stable/static/js/prettify.js" type="text/javascript"></script>
      <script>
        (function() {
          // Auto syntax highlight all pre tags.
          var preElements = document.getElementsByTagName('pre');
          for (var i = 0; i < preElements.length; i++)
            preElements[i].classList.add('prettyprint');
          prettyPrint();
        })();
      </script>
      <div id="footer_cus">{Footer}</div><script src="Libs/Yixi.js"></script><script src="http://s9.cnzz.com/stat.php?id=4928336&web_id=4928336" language="JavaScript"></script>
  
    </div>
  </div>
</html>
